perm filename CYCDRH.LAP[3,LMM] blob sn#037504 filedate 1973-04-22 generic text, type T, neo UTF8
(DEFPROP CYCDRHFNS (CYCDRHFNS (SPECIAL STACK LINE RA PATSELECT) FINDNDS SETND FINDNDS1 PUSH3 STKNDS) VALUE) 

(LAP FINDNDS SUBR) 
       (JSP 6. SPECBIND) 
       (0. 1. (SPECIAL RA) S) 
       (PUSH P 2.) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (MOVE 1. (SPECIAL PATSELECT) S) 
       (JUMPE 1. TAG10) 
       (MOVEI 1. (QUOTE T) S) 
       (MOVEM 1. -1. P) 
 TAG10 
 TAG1  (PUSH P (C 0. 0. (QUOTE 1.) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG2  (MOVE 2. (SPECIAL NMX) S) 
       (MOVE 1. -1. P) 
       (CALL 2. (E *GREAT) S) 
       (JUMPN 1. TAG5) 
       (MOVEI 2. (QUOTE (0. . 0.)) S) 
       (MOVE 1. -1. P) 
       (CALL 2. (E SETND) S) 
 TAG3 
 TAG4  (MOVEI 2. (QUOTE 1.)) 
       (MOVE 1. -1. P) 
       (CALL 2. (E *PLUS) S) 
       (MOVEM 1. -1. P) 
       (JRST 0. TAG2) 
 TAG5  (SUB P (C 2. 0. 2. 0.)) 
       (MOVE 2. (SPECIAL PATSELECT) S) 
       (HLRZ@ 1. (SPECIAL LINE) S) 
       (CALL 1. (E CAAR) S) 
       (CALL 2. (E ASSOC2) S) 
       (MOVEM 1. 0. P) 
       (JUMPE 1. TAG16) 
       (HRRZ@ 2. 1.) 
       (HRRZ@ 2. 2.) 
       (HLRZ@ 2. 2.) 
       (CALL 1. (E CADR) S) 
       (CALL 2. (E CONS) S) 
       (MOVE 2. 1.) 
       (HLRZ@ 1. 0. P) 
       (CALL 2. (E SETND) S) 
       (JRST 0. TAG15) 
 TAG16 (MOVEI 2. (QUOTE (15. . 15.)) S) 
       (HLRZ@ 1. (SPECIAL LINE) S) 
       (CALL 1. (E CAAR) S) 
       (CALL 2. (E SETND) S) 
 TAG15 (MOVE 1. (SPECIAL LINE) S) 
       (CALL 1. (E NCONS) S) 
       (MOVE 2. (SPECIAL LINE) S) 
       (CALL 2. (E XCONS) S) 
       (MOVEI 2. (QUOTE 0.)) 
       (CALL 2. (E XCONS) S) 
       (MOVEM 1. (SPECIAL STACK) S) 
       (MOVEI 3. (QUOTE T) S) 
       (MOVE 2. -1. P) 
       (MOVE 1. (SPECIAL RA) S) 
       (CALL 3. (E FINDNDS1) S) 
       (JUMPN 1. TAG7) 
       (MOVE 1. (SPECIAL PATSELECT) S) 
       (JUMPE 1. TAG21) 
       (CLEARB 1. (SPECIAL PATSELECT) S) 
       (MOVEI 2. (QUOTE 1.)) 
       (MOVEM 2. (SPECIAL RA) S) 
       (MOVEM 1. -1. P) 
       (JRST 0. TAG20) 
 TAG21 (MOVE 1. (SPECIAL RA) S) 
       (CALL 1. (E ADD1) S) 
       (MOVEM 1. (SPECIAL RA) S) 
       (MOVEI 2. (QUOTE 3.)) 
       (CALL 2. (E *GREAT) S) 
       (JUMPE 1. TAG22) 
       (MOVEI 1. (QUOTE T) S) 
       (MOVEM 1. -1. P) 
 TAG22 
 TAG20 (JRST 0. TAG1) 
 TAG7  (MOVEI 1. (QUOTE NIL)) 
       (SUB P (C 2. 0. 2. 0.)) 
       (JRST 0. SPECSTR) 
       NIL 

(LAP SETND SUBR) 
       (JSP 6. SPECBIND) 
       (0. 2. (SPECIAL Y) S) 
       (PUSH P 1.) 
       (HLRZ@ 1. 2.) 
       (PUSH P 1.) 
       (MOVE 1. -1. P) 
       (CALL 1. (E NODE) S) 
       (POP P 1.) 
       (PUSHJ P NSTR) 
       (HRRZ@ 1. (SPECIAL Y) S) 
       (MOVEI 2. (QUOTE 20.)) 
       (PUSH P 1.) 
       (MOVE 1. -1. P) 
       (CALL 2. (E *PLUS) S) 
       (CALL 1. (E NODE) S) 
       (POP P 1.) 
       (PUSHJ P NSTR) 
       (MOVE 1. (SPECIAL Y) S) 
       (SUB P (C 1. 0. 1. 0.)) 
       (JRST 0. SPECSTR) 
       NIL 

(LAP FINDNDS1 SUBR) 
       (JSP 6. SPECBIND) 
       (0. 1. (SPECIAL RA) S) 
       (PUSH P 2.) 
       (PUSH P 3.) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG1  (HLRZ@ 1. (SPECIAL LINE) S) 
       (MOVEM 1. 0. P) 
       (CALL 1. (E CDAR) S) 
       (MOVEM 1. -1. P) 
       (CALL 1. (E NODE) S) 
       (CAIE 1. (QUOTE 0.)) 
       (JRST 0. TAG9) 
       (MOVE 1. -3. P) 
       (JUMPE 1. TAG11) 
       (MOVE 2. -2. P) 
       (MOVE 1. -1. P) 
       (CALL 2. (E STKNDS) S) 
 TAG11 (JRST 0. TAG8) 
 TAG9  (MOVE 3. -2. P) 
       (MOVE 2. 0. P) 
       (MOVE 1. -4. P) 
       (CALL 3. (E RTLIN) S) 
       (JUMPE 1. TAG12) 
       (MOVEI 3. (QUOTE NIL)) 
       (MOVE 2. (SPECIAL LINE) S) 
       (MOVE 1. -2. P) 
       (CALL 3. (E PUSH3) S) 
       (JRST 0. TAG3) 
 TAG12 
 TAG8 
 TAG2  (HLRZ@ 1. (SPECIAL STACK) S) 
       (HRRZ@ 2. (SPECIAL STACK) S) 
       (MOVEM 2. (SPECIAL STACK) S) 
       (MOVEM 1. -3. P) 
       (CALL 1. (E ATOM) S) 
       (JUMPN 1. TAG4) 
       (HLRZ@ 2. -3. P) 
       (HRRZ@ 1. -3. P) 
       (HLRZ@ 1. 1.) 
       (CALL 2. (E SETND) S) 
       (MOVE 3. -2. P) 
       (MOVE 2. 0. P) 
       (MOVE 1. -4. P) 
       (CALL 3. (E RTLIN) S) 
       (JUMPE 1. TAG15) 
       (MOVE 2. (SPECIAL STACK) S) 
       (MOVE 1. -2. P) 
       (CALL 2. (E CONS) S) 
       (MOVEM 1. (SPECIAL STACK) S) 
       (MOVE 2. (SPECIAL LINE) S) 
       (CALL 2. (E XCONS) S) 
       (MOVEM 1. (SPECIAL STACK) S) 
       (MOVEI 2. (QUOTE NIL)) 
       (CALL 2. (E XCONS) S) 
       (MOVEM 1. (SPECIAL STACK) S) 
       (JRST 0. TAG14) 
 TAG15 (MOVEI 2. (QUOTE (0. . 0.)) S) 
       (HRRZ@ 1. -3. P) 
       (HLRZ@ 1. 1.) 
       (CALL 2. (E SETND) S) 
       (JRST 0. TAG2) 
 TAG14 
 TAG3  (MOVE 2. -2. P) 
       (MOVE 1. 0. P) 
       (CALL 2. (E CONS) S) 
       (MOVEI 2. (QUOTE T) S) 
       (MOVEM 1. -2. P) 
       (MOVEM 2. -3. P) 
       (HRRZ@ 1. (SPECIAL LINE) S) 
       (MOVEM 1. (SPECIAL LINE) S) 
       (JUMPN 1. TAG1) 
       (MOVEI 1. (QUOTE T) S) 
       (JRST 0. TAG5) 
 TAG4  (HLRZ@ 1. (SPECIAL STACK) S) 
       (MOVEM 1. (SPECIAL LINE) S) 
       (HRRZ@ 1. (SPECIAL STACK) S) 
       (MOVEM 1. (SPECIAL STACK) S) 
       (HLRZ@ 1. 1.) 
       (HRRZ@ 2. (SPECIAL STACK) S) 
       (MOVEM 2. (SPECIAL STACK) S) 
       (MOVEM 1. -2. P) 
       (JUMPE 2. TAG6) 
       (MOVE 1. -3. P) 
       (JUMPE 1. TAG23) 
       (MOVEI 2. (QUOTE (0. . 0.)) S) 
       (CALL 2. (E SETND) S) 
 TAG23 (HLRZ@ 1. (SPECIAL STACK) S) 
       (CALL 1. (E ATOM) S) 
       (JUMPE 1. TAG25) 
       (HLRZ@ 1. (SPECIAL STACK) S) 
       (HRRZ@ 2. (SPECIAL STACK) S) 
       (MOVEM 2. (SPECIAL STACK) S) 
       (MOVEM 1. -3. P) 
       (JRST 0. TAG4) 
 TAG25 (HLRZ@ 1. (SPECIAL STACK) S) 
       (CALL 1. (E CADR) S) 
       (CALL 1. (E NODE) S) 
       (MOVEI 1. (QUOTE 0.)) 
       (PUSHJ P NSTR) 
       (CLEARM 0. -3. P) 
       (JRST 0. TAG1) 
 TAG6  (MOVEI 1. (QUOTE NIL)) 
 TAG5  (SUB P (C 5. 0. 5. 0.)) 
       (JRST 0. SPECSTR) 
       NIL 

(LAP PUSH3 SUBR) 
       (PUSH P 3.) 
       (PUSH P 1.) 
       (PUSH P 2.) 
       (PUSH P 3.) 
       (JUMPE 1. TAG2) 
       (HLRZ@ 1. 1.) 
       (CALL 2. (E CONS) S) 
       (MOVE 2. (SPECIAL STACK) S) 
       (MOVEM 1. 0. P) 
       (HRRZ@ 1. -2. P) 
       (CALL 2. (E CONS) S) 
       (MOVE 2. 0. P) 
       (CALL 2. (E XCONS) S) 
       (MOVE 2. 1.) 
       (JRST 0. TAG1) 
 TAG2  (MOVE 2. -1. P) 
       (MOVEI 1. (QUOTE NIL)) 
       (CALL 2. (E CONS) S) 
       (MOVE 2. (SPECIAL STACK) S) 
       (MOVEM 1. 0. P) 
       (MOVEI 1. (QUOTE NIL)) 
       (CALL 2. (E CONS) S) 
       (MOVE 2. 0. P) 
       (CALL 2. (E XCONS) S) 
       (MOVE 2. 1.) 
 TAG1  (MOVE 1. -3. P) 
       (CALL 2. (E CONS) S) 
       (MOVEM 1. (SPECIAL STACK) S) 
       (SUB P (C 4. 0. 4. 0.)) 
       (POPJ P) 
       NIL 

(LAP STKNDS SUBR) 
       (JSP 6. SPECBIND) 
       (0. 0. (SPECIAL Y) S) 
       (PUSH P 1.) 
       (PUSH P 2.) 
       (MOVE 3. 1.) 
       (MOVE 2. (SPECIAL LINE) S) 
       (MOVE 1. 0. P) 
       (CALL 3. (E PUSH3) S) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (MOVE 1. (SPECIAL PATSELECT) S) 
       (JUMPE 1. TAG23) 
       (MOVE 2. 1.) 
       (MOVE 1. -8. P) 
       (CALL 2. (E ASSOC2) S) 
       (MOVEM 1. 0. P) 
       (JUMPE 1. TAG23) 
       (HRRZ@ 2. 0. P) 
       (HRRZ@ 2. 2.) 
       (HLRZ@ 2. 2.) 
       (HRRZ@ 1. 0. P) 
       (HLRZ@ 1. 1.) 
       (CALL 2. (E CONS) S) 
       (PUSH P 1.) 
       (MOVE 1. -9. P) 
       (CALL 1. (E NCONS) S) 
       (POP P 2.) 
       (CALL 2. (E XCONS) S) 
       (MOVE 2. (SPECIAL STACK) S) 
       (CALL 2. (E CONS) S) 
       (MOVEM 1. (SPECIAL STACK) S) 
       (MOVEI 1. (QUOTE T) S) 
       (JRST 0. TAG19) 
 TAG23 
 TAG1  (MOVEI 1. (QUOTE 0.)) 
       (MOVEI 2. (QUOTE 100.)) 
       (MOVEI 3. (QUOTE 0.)) 
       (MOVEI 4. (QUOTE 100.)) 
       (MOVEM 1. -1. P) 
       (MOVEM 2. -2. P) 
       (MOVEM 3. -3. P) 
       (MOVEM 4. -4. P) 
       (MOVE 1. (SPECIAL STACK) S) 
       (CALL 1. (E LENGTH) S) 
       (MOVEI 2. (QUOTE 6.)) 
       (CALL 2. (E *LESS) S) 
       (JUMPE 1. TAG27) 
       (MOVEI 1. (QUOTE 16.)) 
       (MOVEI 2. (QUOTE 15.)) 
       (MOVEM 1. -1. P) 
       (MOVEM 2. -3. P) 
 TAG27 (MOVE 1. -8. P) 
       (CALL 1. (E CONN) S) 
       (PUSH P 1.) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG2  (MOVE 1. -1. P) 
       (JUMPE 1. TAG7) 
       (HLRZ@ 1. -1. P) 
       (MOVEM 1. -2. P) 
       (CALL 1. (E NODE) S) 
       (MOVEM 1. -7. P) 
       (CAIN 1. (QUOTE 0.)) 
       (JRST 0. TAG5) 
       (MOVEI 2. (QUOTE 20.)) 
       (MOVE 1. -2. P) 
       (CALL 2. (E *PLUS) S) 
       (CALL 1. (E NODE) S) 
       (MOVE 2. (SPECIAL RA) S) 
       (MOVEM 1. -8. P) 
       (MOVE 1. -7. P) 
       (CALL 2. (E *DIF) S) 
       (MOVE 2. -3. P) 
       (CALL 2. (E *MAX) S) 
       (MOVE 2. (SPECIAL RA) S) 
       (MOVEM 1. -3. P) 
       (MOVE 1. -7. P) 
       (CALL 2. (E *PLUS) S) 
       (MOVE 2. -4. P) 
       (CALL 2. (E *MIN) S) 
       (MOVE 2. (SPECIAL RA) S) 
       (MOVEM 1. -4. P) 
       (MOVE 1. -8. P) 
       (CALL 2. (E *DIF) S) 
       (MOVE 2. -5. P) 
       (CALL 2. (E *MAX) S) 
       (MOVE 2. (SPECIAL RA) S) 
       (MOVEM 1. -5. P) 
       (MOVE 1. -8. P) 
       (CALL 2. (E *PLUS) S) 
       (MOVE 2. -6. P) 
       (CALL 2. (E *MIN) S) 
       (MOVEM 1. -6. P) 
 TAG3 
 TAG4 
 TAG5 
 TAG6  (HRRZ@ 1. -1. P) 
       (MOVEM 1. -1. P) 
       (JRST 0. TAG2) 
 TAG7  (SUB P (C 2. 0. 2. 0.)) 
       (MOVE 2. -2. P) 
       (MOVE 1. -1. P) 
       (CALL 2. (E *GREAT) S) 
       (JUMPN 1. TAG20) 
       (MOVE 2. -4. P) 
       (MOVE 1. -3. P) 
       (CALL 2. (E *GREAT) S) 
       (JUMPN 1. TAG20) 
       (PUSH P (C 0. 0. (QUOTE 1.) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG8  (MOVE 2. (SPECIAL NMX) S) 
       (MOVE 1. -1. P) 
       (CALL 2. (E *GREAT) S) 
       (JUMPN 1. TAG11) 
       (PUSH P (C 0. 0. TAG41 0.)) 
       (PUSH P -1. P) 
       (MOVE 1. -3. P) 
       (CALL 1. (E NODE) S) 
       (MOVEI 2. (QUOTE 20.)) 
       (PUSH P 1.) 
       (MOVE 1. -4. P) 
       (CALL 2. (E *PLUS) S) 
       (CALL 1. (E NODE) S) 
       (POP P 2.) 
       (CALL 2. (E XCONS) S) 
       (CALL 1. (E NCONS) S) 
       (PUSH P 1.) 
       (MOVNI 6. 2.) 
       (JCALL 14. (E NCONC) S) 
 TAG41 (MOVEM 1. 0. P) 
 TAG9 
 TAG10 (MOVEI 2. (QUOTE 1.)) 
       (MOVE 1. -1. P) 
       (CALL 2. (E *PLUS) S) 
       (MOVEM 1. -1. P) 
       (JRST 0. TAG8) 
 TAG11 (MOVE 1. 0. P) 
       (MOVEM 1. (SPECIAL Y) S) 
       (SUB P (C 2. 0. 2. 0.)) 
       (CLEARM 0. 0. P) 
       (MOVE 1. -1. P) 
       (MOVEM 1. -5. P) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG12 (MOVE 2. -3. P) 
       (MOVE 1. -6. P) 
       (CALL 2. (E *GREAT) S) 
       (JUMPN 1. TAG18) 
       (MOVE 1. -4. P) 
       (MOVEM 1. -7. P) 
 TAG13 (MOVE 2. -5. P) 
       (MOVE 1. -7. P) 
       (CALL 2. (E *GREAT) S) 
       (JUMPN 1. TAG16) 
       (MOVE 2. -7. P) 
       (MOVE 1. -6. P) 
       (CALL 2. (E CONS) S) 
       (MOVE 2. (SPECIAL Y) S) 
       (CALL 2. (E MEMBER) S) 
       (JUMPN 1. TAG15) 
       (MOVEI 1. (QUOTE T) S) 
       (MOVE 2. -7. P) 
       (MOVEM 1. -1. P) 
       (MOVE 1. -6. P) 
       (CALL 2. (E CONS) S) 
       (PUSH P 1.) 
       (MOVE 1. -10. P) 
       (CALL 1. (E NCONS) S) 
       (POP P 2.) 
       (CALL 2. (E XCONS) S) 
       (MOVE 2. (SPECIAL STACK) S) 
       (CALL 2. (E CONS) S) 
       (MOVEM 1. (SPECIAL STACK) S) 
 TAG14 
 TAG15 (MOVEI 2. (QUOTE 1.)) 
       (MOVE 1. -7. P) 
       (CALL 2. (E *PLUS) S) 
       (MOVEM 1. -7. P) 
       (JRST 0. TAG13) 
 TAG16 
 TAG17 (MOVEI 2. (QUOTE 1.)) 
       (MOVE 1. -6. P) 
       (CALL 2. (E *PLUS) S) 
       (MOVEM 1. -6. P) 
       (JRST 0. TAG12) 
 TAG18 (SUB P (C 1. 0. 1. 0.)) 
       (MOVE 1. 0. P) 
       (JUMPE 1. TAG20) 
       (MOVEI 1. (QUOTE T) S) 
       (JRST 0. TAG19) 
 TAG20 (MOVEI 1. (QUOTE NIL)) 
 TAG19 (SUB P (C 9. 0. 9. 0.)) 
       (JRST 0. SPECSTR) 
       NIL